<?php

//Добавление новых значений в базу данных
//ПРи успешном срабатывании этого куска, будет вызван return и форма не будет показана.
if(isset($_POST['element_id'])) {
    //TODO: Новое API для добавление новых элементов вбазу данных;
    //TODO: правим только то, что разрешено (admin_tables править нельзя)
	$elemid=url(4);
	if($elemid=='add') {
	
		//Добавление элементов - делаем малой кровью - предварительно создаём строку в таблице
		$result=mysql_query("insert into `".mysql_real_escape_string(url(3))."`  () values ()");
		$elemid=mysql_insert_id();
	}

	if($_POST['url']=='')$_POST['url']='page'.$elemid;

	if(substr($_POST['url'],0,1)=='/')$_POST['url']=substr($_POST['url'],1);
	$_POST['url']=str_replace('/','_',$_POST['url']);
	$data=$this->adminFields();
    $result_str="update `".url(3)."` set  ";
    for($i=0; $i<=count($data)-1; $i++) {
        $result_str.=" `" . $data[$i]['name'] . "`= '".mysql_real_escape_string($_POST[$data[$i]['name']])."' ";
        if ($i<count($data)-1)$result_str.=', ';
    }
    $result_str.=" where `id`=".mysql_real_escape_string($elemid);
    mysql_query($result_str);
	if($_POST['admin_command_redirect_close']=='yes') {
		return  "<script> window.opener.document.location.href=window.opener.document.location.href;window.open('','_self','');window.close();</script>";
	}else{
		header('Location: /admin/list/'.url(3));
		exit();
		return  '';
	}
}

?>
<form method="post">
<?php
if(isset($_SERVER['HTTP_REFERER']))
  if(strpos($_SERVER['HTTP_REFERER'],'/admin/')===false) {
  //FIXME: бяка
	print '<input type="hidden" name="admin_command_redirect_close" value="yes">';
  }
   $data=$this->adminFields();

$result=mysql_query("select * from `".mysql_escape_string(url(3))."` where `id` = '".mysql_escape_string(url(4))."'");
if ($line=mysql_fetch_array($result)) {
    foreach($data as $_key=>$_value) {
        $data[$_key]['value']=$line[$_value['name']];
    }
} else {
    foreach($data as $_key=>$_value) {
        $data[$_key]['value']='';
		foreach($_GET as $_getkey =>$_getvalue) {
			if( $data[$_key]['name']==$_getkey) {
				$data[$_key]['value']=$_getvalue;
			}
		}
    }
}
$pagetitle='Редактирование элемента';
if(url(4)=='add')$pagetitle='Добавление нового элемента';
print $this->admintable(array('tablerow'=>$data,'tabletitle'=>$pagetitle));

?>
</form>
